using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;

namespace zeroflag.Parserz.IDE
{
	public class ColorCombi
	{
		public ColorCombi()
		{
		}

		public ColorCombi(Color foreground, Color background, Color frame)
		{
			this.TextColor = foreground;
			this.BackgroundColor = background;
			this.FrameColor = frame;
		}

		SolidBrush m_TextBrush = new SolidBrush(Color.Black);
		[System.ComponentModel.Browsable(false)]
		public SolidBrush TextBrush
		{
			get { return m_TextBrush; }
			set { m_TextBrush = value; }
		}
		[System.ComponentModel.Category("Parser")]
		public Color TextColor
		{
			get { return this.TextBrush.Color; }
			set
			{
				if (TextBrush.Color != value)
				{
					this.TextBrush = new SolidBrush(value);
				}
			}
		}

		SolidBrush m_TextBackgroundBrush = new SolidBrush(Color.LightBlue);
		[System.ComponentModel.Browsable(false)]
		public SolidBrush BackgroundBrush
		{
			get { return m_TextBackgroundBrush; }
			set { m_TextBackgroundBrush = value; }
		}
		[System.ComponentModel.Category("Parser")]
		public Color BackgroundColor
		{
			get { return this.BackgroundBrush.Color; }
			set
			{
				if (BackgroundBrush.Color != value)
				{
					this.BackgroundBrush = new SolidBrush(value);
				}
			}
		}

		Pen m_FramePen = Pens.LightGreen;
		[System.ComponentModel.Browsable(false)]
		public Pen FramePen
		{
			get { return m_FramePen; }
			set { m_FramePen = value; }
		}

		[System.ComponentModel.Category("Parser")]
		public Color FrameColor
		{
			get { return FramePen.Color; }
			set
			{
				if (FramePen.Color != value)
				{
					this.FramePen = new Pen(value, 1);
				}
			}
		}
	}
}
